perm filename HOST.MID[NET,MRC]1 blob sn#320471 filedate 1977-11-30 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	TITLE HOST
C00005 ENDMK
CāŠ—;
TITLE HOST

; EXPERIMENTAL HOST PROGRAM USING THE NEW NETWRK ROUTINES.

NIORTS==0 ? HSTTAB==1

.INSRT NETWRK

PDL:	BLOCK 50

HSTEXT:	BLOCK 25

BEG:	JFCL
	RESET
	MOVE 17,[PDL(-50)]
	PUSHJ 17,MAPHST			; MAP HOST TABLE IN CORE
	 JRST 4,.
PROMPT:	OUTCHR ["#]
	SETZM HSTEXT
	MOVE [440700,,HSTEXT]
HSTLUP:	INCHWL 1
	ANDI 1,177
	CAIN 1,↑M
	 INCHWL 1
	CAIE 1,175
	 CAIN 1,↑J
	  JRST GOTHST
	IDPB 1,
	JRST HSTLUP

GOTHST:	SKIPN HSTEXT
	 JRST PROMPT
	SETZ 1,
	IDPB 1,
	MOVEI HSTEXT
	PUSHJ 17,HSTNAM			; FIND HOST IN TABLE
	 JRST [	OUTSTR [ASCIZ/No match!
/]
		JRST PROMPT]
	 OUTSTR [ASCIZ/Ambiguous name.  The first match was:
/]
	OUTSTR [ASCIZ/Host /]
	OUTSTR (1)
	OUTSTR [ASCIZ/ is number /]
	HRRZ 10, ? PUSHJ 17,OCTOUT
	OUTSTR [ASCIZ/ (octal), /]
	HRRZ 10, ? PUSHJ 17,DECOUT
	OUTSTR [ASCIZ/ (decimal);
a /]
	HRRZ 10,2
	SKIPN 10
	 MOVEI 10,[ASCIZ/unknown/]
	OUTSTR (10)
	OUTSTR [ASCIZ/ machine running /]
	HLRZ 10,1
	SKIPN 10
	 MOVEI 10,[ASCIZ/an unknown operating system/]
	OUTSTR (10)
	SKIPGE 2
	 OUTSTR [ASCIZ/ (server)/]
	OUTSTR [ASCIZ/.
/]
	JRST PROMPT

OCTOUT:	SKIPA 12,[10]
DECOUT:	 MOVEI 12,10.
NUMOUT:	IDIVI 10,(12)
	PUSH 17,11
	SKIPE 10
	 PUSHJ 17,NUMOUT
	POP 17,10
	ADDI 10,"0
	OUTCHR 10
	POPJ 17,

END BEG